﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace XPathStudy
{
    public class BaseClass
    {
        protected string MyName = string.Empty;
    }

    public class ChildClass : BaseClass
    {
        public ChildClass(string userName)
        {
            this.MyName = userName;
        }
    }

    public abstract class DreamClass
    {
        private string userName;
        public DreamClass(string userName)
        {
            this.userName = userName;
        }

        public virtual void ShowName()
        { 
            //...
        }

        public abstract void SaySomething();
    }

    public class RealClass : DreamClass
    {
        public RealClass(string userName)
            : base(userName)
        { }

        public override void ShowName()
        {
            base.ShowName();
        }

        public override void SaySomething()
        {
            throw new NotImplementedException();
        }
    }

}
